Simple Graph

Example configuring and executing a simple graph. The graph constructed runs on video inputs, and extracts the length of visual text, the amount of vibrance in each frame, and the length of spoken words.


In [1]:
from pliers.tests.utils import get_test_data_path
from os.path import join
from pliers.stimuli import VideoStim
from pliers.converters import (VideoToAudioConverter,
                               FrameSamplingConverter,
                               TesseractConverter,
                               WitTranscriptionConverter)
from pliers.extractors import (ExtractorResult,
                               VibranceExtractor,
                               LengthExtractor)
from pliers.graph import Graph

In [2]:
# Load the stimulus
filename = join(get_test_data_path(), 'video', 'obama_speech.mp4')
video = VideoStim(filename)

In [3]:
# Configure the graph nodes
nodes = [(FrameSamplingConverter(every=15), 
             [(TesseractConverter(), 
                [(LengthExtractor())]), 
              (VibranceExtractor(),)]),
         (VideoToAudioConverter(), 
            [(WitTranscriptionConverter(), 
              [(LengthExtractor())])])]

In [5]:
# Construct and run the graph
graph = Graph(nodes)
graph.run(video)


Stim: 7it [00:00, 24144.84it/s]
[MoviePy] Writing audio in /var/folders/55/wm77gzf157n1dg7pffpp6b9r0000gn/T/tmpVHAyZq.wav
100%|██████████| 193/193 [00:00<00:00, 1393.23it/s]
[MoviePy] Done.
Stim: 15it [00:00, 12204.57it/s]
Out[5]:
LengthExtractor VibranceExtractor class filename history onset stim
text_length vibrance
0 0 NaN TextStim None VideoStim->FrameSamplingConverter/DerivedVideo... 0.00 text[]
1 NaN 418.851528 VideoFrameStim None VideoStim->FrameSamplingConverter/DerivedVideo... 0.00 frame[0]
2 0 NaN TextStim None VideoStim->FrameSamplingConverter/DerivedVideo... 1.25 text[]
3 NaN 441.618626 VideoFrameStim None VideoStim->FrameSamplingConverter/DerivedVideo... 1.25 frame[15]
4 0 NaN TextStim None VideoStim->FrameSamplingConverter/DerivedVideo... 2.50 text[]
5 NaN 506.321013 VideoFrameStim None VideoStim->FrameSamplingConverter/DerivedVideo... 2.50 frame[30]
6 36 NaN TextStim None VideoStim->FrameSamplingConverter/DerivedVideo... 3.75 text[mslnsu-r onu‘fi. SAVEIENV nu IRAN]
7 NaN 575.903070 VideoFrameStim None VideoStim->FrameSamplingConverter/DerivedVideo... 3.75 frame[45]
8 56 NaN TextStim None VideoStim->FrameSamplingConverter/DerivedVideo... 5.00 text[1'"\nPIESIIIE Y' I' I ‘ s\nt 1'. I)“; ]
9 NaN 586.500651 VideoFrameStim None VideoStim->FrameSamplingConverter/DerivedVideo... 5.00 frame[60]
10 0 NaN TextStim None VideoStim->FrameSamplingConverter/DerivedVideo... 6.25 text[]
11 NaN 590.007483 VideoFrameStim None VideoStim->FrameSamplingConverter/DerivedVideo... 6.25 frame[75]
12 36 NaN TextStim None VideoStim->FrameSamplingConverter/DerivedVideo... 7.50 text[, 7 V\nPnEslnEMJ'W min: an Inn:\nA ‘]
13 NaN 589.524823 VideoFrameStim None VideoStim->FrameSamplingConverter/DerivedVideo... 7.50 frame[90]
14 5 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[today]
15 5 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[after]
16 3 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[two]
17 5 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[years]
18 12 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[negotiations]
19 3 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[the]
20 6 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[united]
21 6 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[states]
22 8 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[together]
23 2 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[or]
24 13 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[international]
25 8 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[partners]
26 3 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[who]
27 6 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[cheats]
28 2 NaN TextStim None VideoStim->VideoToAudioConverter/AudioStim->Wi... NaN text[of]

In [6]:
# Save a display of the graph
graph.draw('pliers_simple_graph.png')


In [ ]: